home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / inter54c.zip / CMOS.LST < prev    next >
File List  |  1997-06-29  |  67KB  |  1,753 lines

  1. CMOS Memory Map            Release 54        Last change 29jun97
  2.  
  3. Compiled from multiple sources by Padgett Peterson
  4. Corrections/additions/comments to: padgett@tccslr.dnet.mmc.com
  5.  
  6. No guarantees of any kind.
  7.  
  8. Copyrights/Trademarks belong to whoever they may belong to.
  9.  
  10. Found: Algorithm used by IBM in calculating CRC checksums for PS/2
  11.        (see bytes 32h-33h). Complex (recursive part is 12 lines of
  12.        assembly) and not yet validated for every model.
  13. --------!---Note-----------------------------
  14.             Background
  15.  
  16. The CMOS (complementary metal oxide semiconductor) memory is actually 
  17. a 64 or 128 byte battery-backed RAM memory module that is a part of the 
  18. system clock chip. Some IBM PS/2 models have the capability for a
  19. 2k (2048 byte) CMOS ROM Extension.
  20.  
  21. First used with clock-calender cards for the IBM PC-XT, when the PC/AT
  22. (Advanced Technology) was introduced in 1985, the Motorola MC146818 
  23. became a part of the motherboard. Since the clock only uses fourteen of 
  24. the RAM bytes, the rest are available for storing system configuration data.
  25.  
  26. Interestingly, the original IBM-PC/AT (Advanced Technology) standard for 
  27. the region 10h-3Fh is nearly universal with one notable exception: The 
  28. IBM PS/2 systems deviate considerably (Note: AMSTRAD 8086 machines were 
  29. among the first to actively use the CMOS memory available and since they 
  30. *predate* the AT, do not follow the AT standard).
  31.  
  32. This is just another example of how IBM created a standard, lost control 
  33. of it, tried to replace it, failed and lost market share in the process. 
  34.  
  35. Originally, the IBM PC/AT only made use of a small portion of CMOS memory
  36. and was defined in the IBM PC/AT Technical Reference Manual, specifically 
  37. bytes 10h, 12h, 14h-18h, 2Eh-33h. The balance was left undefined but was 
  38. quickly appropriated by various BIOS manufacturers for such user-selectable 
  39. options such as wait states, clock speeds, initial boot drive selection, and 
  40. password storage.
  41.  
  42. Later, as CMOS memory requirements grew, newer clock chips with 128
  43. bytes of RAM came into use. However the fact remains that once the AT 
  44. standard was established, only IBM has tried to change the definitions 
  45. of that first description.
  46.  
  47.             Accessing the CMOS
  48.  
  49. The CMOS memory exists outside of the normal address space and cannot
  50. contain directly executable code. It is reachable through IN and OUT
  51. commands at port number 70h (112d) and 71h (113d). To read a CMOS byte,
  52. an OUT to port 70h is executed with the address of the byte to be read and
  53. an IN from port 71h will then retrieve the requested information. The 
  54. following BASIC fragment will read 128 CMOS bytes and print them to the 
  55. screen in 8 rows of 16 values.
  56.  
  57. CMOS RAM space has an upper limit of 128 bytes because of the structure
  58. of port 70: only bits 0-6 are used for addressing, bit 7 is used to 
  59. enable (0) or disable (1) Non-Maskable Interrupts (NMI) and explains why
  60. IBM uses 80h OR <address> to read/write data & follows with  a "throw-away"
  61. call.
  62.  
  63. Note that if the CMOS only has 64 bytes available, addressing will 
  64. generally wrap and addresses from 40h-7Fh will mirror 00h-3Fh. Output will 
  65. be hexadecimal.
  66.  
  67. 10 CLS
  68. 20 FOR i = 0 TO &H7F 
  69. 30 OUT &H70, i
  70. 40 PRINT USING "\   \"; HEX$(INP(&H71));
  71. 50 NEXT i
  72. 60 PRINT " " 
  73.  
  74. Note: where not otherwise noted, all data points are expressed as BYTES
  75.       these are eight bit values and are read from MSB to LSB e.g.
  76.       0000 0000        0101 1010 binary would be written as 5Ah
  77.       7654 3210        where only some bits are used this is represented with
  78.             Xs e.g bits 5-3 would be shown as 00xx x000
  79.  
  80. Note: the entries for AMI WinBIOS also apply to AMIBIOS with core dates of 
  81.     12/15/95 or later
  82.  
  83. --------!---Note-----------------------------
  84.         Organization of CMOS Memory - Clock
  85.  
  86. 00h-0Eh is defined by the clock hardware and all must follow it. Other 
  87. manufacturers generally follow the same format as specified for the
  88. region 10h - 2Fh. Some also follow the IBM format for 30h-33h but not all 
  89. (Zenith in particular is different).
  90.  
  91. The first fourteen bytes are dedicated to the MC146818 chip clock functions 
  92. and consist of ten read/write data registers and four status registers, two 
  93. of which are read/write and two of which are read only.
  94.  
  95. The format of the ten clock data registers (bytes 00h-09h) is:
  96.  
  97. ----------R00--------------------------------
  98. CMOS 00h - RTC - SECONDS
  99. Desc:    (BCD 00-59, Hex 00-3B)
  100. Note: Bit 7 is read only    
  101. SeeAlso: CMOS 01h,CMOS 02h,CMOS 04h
  102. ----------R01--------------------------------
  103. CMOS 01h - RTC - SECOND ALARM
  104. Desc:    (BCD 00-59, Hex 00-3B; "don't care" if C0-FF)
  105. SeeAlso: CMOS 00h,CMOS 03h,CMOS 05h
  106. ----------R02--------------------------------
  107. CMOS 02h - RTC - MINUTES
  108. Desc:    (BCD 00-59, Hex 00-3B)
  109. SeeAlso: CMOS 00h,CMOS 03h,CMOS 04h
  110. ----------R03--------------------------------
  111. CMOS 03h - RTC - MINUTE ALARM
  112. Desc:    (BCD 00-59, Hex 00-3B; "don't care" if C0-FF))    
  113. SeeAlso: CMOS 00h,CMOS 02h,CMOS 05h
  114. ----------R04--------------------------------
  115. CMOS 04h - RTC - HOURS
  116. Desc:    (BCD 00-23, Hex 00-17 if 24 hr mode)
  117.     (BCD 01-12, Hex 01-0C if 12 hr am)
  118.     (BCD 81-92. Hex 81-8C if 12 hr pm)          
  119. SeeAlso: CMOS 00h,CMOS 02h,CMOS 05h
  120. ----------R05--------------------------------
  121. CMOS 05h - RTC - HOUR ALARM
  122. Desc:    (same as hours; "don't care" if C0-FF))        
  123. SeeAlso: CMOS 01h,CMOS 03h,CMOS 04h
  124. ----------R06--------------------------------
  125. CMOS 06h - RTC - DAY OF WEEK
  126. Desc:    (01-07 Sunday=1)    
  127. SeeAlso: CMOS 07h,CMOS 08h,CMOS 09h
  128. ----------R07--------------------------------
  129. CMOS 07h - RTC - DATE OF MONTH
  130. Desc:    (BCD 01-31, Hex 01-1F)
  131. SeeAlso: CMOS 06h,CMOS 08h,CMOS 09h
  132. ----------R08--------------------------------
  133. CMOS 08h - RTC - MONTH
  134. Desc:    (BCD 01-12, Hex 01-0C)      
  135. SeeAlso: CMOS 06h,CMOS 07h,CMOS 09h
  136. ----------R09--------------------------------
  137. CMOS 09h - RTC - YEAR
  138. Desc:    (BCD 00-99, Hex 00-63)      
  139. Notes:    BCD/Hex selection depends on Bit 2 of register B (0Bh)
  140.     12/24 Hr selection depends on Bit 1 of register B (0Bh)
  141.     Alarm will trigger when contents of all three Alarm byte registers
  142.       match their companions.
  143. SeeAlso: CMOS 06h,CMOS 07h,CMOS 08h
  144.  
  145. The following is the on-chip status register information. 
  146.  
  147. ----------R0A--------------------------------
  148. CMOS 0Ah - RTC - STATUS REGISTER A (read/write) (usu 26h)
  149.  
  150. Bitfields for Real-Time Clock status register A:
  151. Bit(s)    Description    (Table C001)
  152.  7    =1 time update cycle in progress, data ouputs undefined 
  153.     (bit 7 is read only)
  154.  6-4    22 stage divider
  155.     010 = 32768 Hz time base (default)
  156.  3-0    rate selection bits for interrupt
  157.     0000 none
  158.     0011 122 microseconds (minimum)
  159.     1111 500 milliseconds    
  160.     0110 976.562 microseconds (default 1024 Hz)
  161. SeeAlso: #C002,#C003,#C004
  162. ----------R0B--------------------------------
  163. CMOS 0Bh - RTC - STATUS REGISTER B (read/write) 
  164.  
  165. Bitfields for Real-Time Clock status register B:
  166. Bit(s)    Description    (Table C002)
  167.  7    enable cycle update
  168.  6    enable periodic interrupt
  169.  5    enable alarm interrupt
  170.  4    enable update-ended interrupt
  171.  3    enable square wave output
  172.  2    Data Mode - 0: BCD, 1: Binary
  173.  1    24/12 hour selection - 1 enables 24 hour mode
  174.  0    Daylight Savings Enable - 1 enables
  175. SeeAlso: #C001,#C003,#C004
  176. ----------R0C--------------------------------
  177. CMOS 0Ch - RTC - STATUS REGISTER C (Read only)
  178.  
  179. Bitfields for Real-Time Clock status register C:
  180. Bit(s)    Description    (Table C003)
  181.  7    Interrupt request flag
  182.     =1 when any or all of bits 6-4 are 1 and appropriate enables
  183.       (Register B) are set to 1. Generates IRQ 8 when triggered.
  184.  6    Periodic Interrupt flag
  185.  5    Alarm Interrupt flag 
  186.  4    Update-Ended Interrupt Flag
  187.  3-0    unused???
  188. SeeAlso: #C001,#C002,#C004
  189. ----------R0D--------------------------------
  190. CMOS 0Dh - RTC - STATUS REGISTER D (read only)
  191.  
  192. Bitfields for Real-Time Clock status register D:
  193. Bit(s)    Description    (Table C004)
  194.  7    Valid RAM - 1 indicates batery power good, 0 if dead or disconnected.
  195.  6-0    unused??? (0)
  196. --------!---Note-----------------------------
  197.         Organization of CMOS Memory - non-Clock
  198.  
  199. The last two bytes in the first hexadecimal decade (hexade ?) were not 
  200. specified in the PC/AT but may have the following use on some systems:
  201. ----------R0E--------------------------------
  202. CMOS 0Eh  - IBM PS/2 - DIAGNOSTIC STATUS BYTE 
  203.  
  204. Bitfields for IBM PS/2 diagnostic status byte:
  205. Bit(s)    Description    (Table C005)
  206.  7    indicates clock has lost power
  207.  6    incorrect checksum
  208.  5    equipment configuration is incorrect
  209.       (power-on check requires that atleast one floppy be installed)
  210.  4    error in memory size
  211.  3    controller or disk drive failed initialization
  212.  2    time is invalid
  213.  1    installed adaptors do not match configuration
  214.  0    time-out while reading adaptor ID
  215. ----------R0E13------------------------------
  216. CMOS 0Eh-13h - AMSTRAD - TIME AND DATE MACHINE LAST USED
  217. ----------R0F--------------------------------
  218. CMOS 0Fh - IBM - RESET CODE (IBM PS/2 "Shutdown Status Byte")
  219.  
  220. (Table C006)
  221. Values for Reset Code / Shutdown Status Byte:
  222.  00h-03h perform power-on reset
  223.    00h    software reset or unexpected reset
  224.    01h    reset after memory size check in real/virtual mode
  225.     (or: chip set initialization for real mode reentry)
  226.    02h    reset after successful memory test in real/virtual mode
  227.    03h    reset after failed memory test in real/virtual mode
  228.  04h    INT 19h reboot
  229.  05h    flush keyboard (issue EOI) and jump via 40h:0067h
  230.  06h    reset (after successful test in virtual mode)
  231.     (or: jump via 40h:0067h without EOI)
  232.  07h    reset (after failed test in virtual mode)
  233.  08h    used by POST during protected-mode RAM test (return to POST)
  234.  09h    used for INT 15/87h (block move) support
  235.  0Ah    resume execution by jump via 40h:0067h
  236.  0Bh    resume execution via IRET via 40h:0067h
  237.  0Ch    resume execution via RETF via 40h:0067h
  238.  0Dh-FFh perform power-on reset
  239. --------!---Note-----------------------------
  240.  
  241. The second group of values extends from address 10h to 2Dh. The word at
  242. 2Eh-2Fh is a byte-wise summation of the values in these bytes. Most BIOSes
  243. will generate a CMOS Checksum error if this value is invalid however many 
  244. programs ignore the checksum and report the apparent value. The current
  245. version of MSD reports my XT as having 20+ MB of extended memory. 
  246.  
  247. Where a definiton appears universal, no identification is made. Where
  248. the definition is thought to be specific to a manufacturer/model (AMI, 
  249. AMSTRAD, IBM AT, IBM PS/2) the identification is enclosed in parens. The
  250. AMSTAD definitions appear to relate to 8088/8086 (PC and PC/XT class)
  251. mchines only. AT class machines appear to adhere to IBM PC/AT fornat.
  252.  
  253. ----------R10--------------------------------
  254. CMOS 10h - IBM - FLOPPY DRIVE TYPE
  255. Note:    a PC having a 5 1/4 1.2 Mb A: drive and a 1.44 Mb B: drive will
  256.       have a value of 24h in byte 10h. With a single 1.44 drive: 40h.
  257.  
  258. Bitfields for floppy drives A/B types:
  259. Bit(s)    Description    (Table C007)
  260.  7-4    first floppy disk drive type (see #C008)
  261.  3-0    second floppy disk drive type (see #C008)
  262.  
  263. (Table C008)
  264. Values for floppy drive type:
  265.  00h    no drive
  266.  01h    360 KB 5.25 Drive
  267.  02h    1.2 MB 5.25 Drive - note: not listed in PS/2 technical manual
  268.  03h    720 KB 3.5 Drive
  269.  04h    1.44 MB 3.5 Drive
  270.  05h    2.88 MB 3.5 drive
  271.  06h-0Fh unused
  272. SeeAlso: #C007
  273. ----------R11--------------------------------
  274. CMOS 11h - IBM PS/2 - FIRST FIXED DISK DRIVE TYPE BYTE (00-FFh)
  275. Note:    if IBM ESDI or SCSI drive controller is used, CMOS drive type will be
  276.       zero (00 - no drive) and INT 13h will be directed to controller ROM.
  277. ----------R11--------------------------------
  278. CMOS 11h - older AMI Hi-Flex BIOS - KEYBOARD TYPEMATIC DATA 
  279.  
  280. Bitfields for AMI Hi-Flex BIOS keyboard typematic data:
  281. Bit(s)    Description    (Table C009)
  282.  7    enable Typematic
  283.  6-5    Typematic Delay (wait before begin repeating)
  284.     00b 250 ms
  285.     01b 500 ms
  286.     10b 750 ms
  287.     11b 100 ms
  288.  4-0    Typematic Rate (char/sec)
  289.     00000b - 30.0     01000b - 15.9    10000b - 7.5  11000b - 3.7
  290.     00001b - 26.7     01001b - 13.3    10001b - 6.7  11001b - 3.3
  291.     00010b - 24.0     01010b - 12.0    10010b - 6.0  11010b - 3.0
  292.     00011b - 21.8     01011b - 10.9    10011b - 5.5  11011b - 2.7
  293.     00100b - 20.0     01100b - 10.0    10100b - 5.0  11100b - 2.5
  294.     00101b - 18.5     01101b -  9.2    10101b - 4.6  11101b - 2.3
  295.     00110b - 17.1     01110b -  8.6    10110b - 4.3  11110b - 2.1
  296.     00111b - 16.0     01111b -  8.0    10111b - 4.0  11111b - 2.0
  297. ----------R11--------------------------------
  298. CMOS 11h - AMI - ADVANCED SETUP OPTIONS
  299.  
  300. Bitfields for AMI advanced setup options:
  301. Bit(s)    Description    (Table C010)
  302.  7    mouse enabled
  303.  6    test memory above 1 megabyte
  304.  5    generate clicks during memory test
  305.  4    enable memory parity check
  306.  3    display key for Setup while booting
  307.  2    store user-defined disk data at top of memory instead of 0030h:0000h
  308.  1    request F1 keypress on boot error
  309. ----------R11--------------------------------
  310. CMOS 11h - AMI WinBIOS - BOOT OPTIONS
  311. SeeAlso: CMOS 13h"AMI"
  312.  
  313. Bitfields for AMI WinBIOS boot options:
  314. Bit(s)    Description    (Table C011)
  315.  7    systems boots with high CPU speed
  316.  6    memory test above 1MB enabled
  317.  5    memory test tick sound enabled
  318.  4    floppy drive seek at boot enabled
  319.  3    "Hit <Del>" message enabled
  320.  2    BIOS extended RAM area takes 1K at top of memory instead of 30h:0000h
  321.  1    wait for F1 key on error
  322.  0    NumLock enabled at boot
  323. ----------R11--------------------------------
  324. CMOS 11h - AWARD - CONFIGURATION BITS
  325. SeeAlso: CMOS 5Eh"AWARD"
  326.  
  327. Bitfields for AWARD configuration bits:
  328. Bit(s)    Description    (Table C012)
  329.  7    NumLock ON at reboot
  330.  6    IDE Block Mode enabled
  331.  5    ???
  332.  4    Shadow ROM BIOS at CC00-CFFF
  333.  3    Shadow ROM BIOS at C800-CBFF
  334.  2    ???
  335.  1    BIOS Password Enabled (supervisor)
  336.  0    0 = Password controls BIOS Setup Only
  337.     1 = Password required to enter System
  338. SeeAlso: #C081
  339. ----------R11--------------------------------
  340. CMOS 11h - Quadtel HT12 BIOS 03.05.03 - CONFIGURATION BITS
  341.  
  342. Bitfields for Quadtel HT12 configuration bits:
  343. Bit(s)    Description    (Table C013)
  344.  7    640K RAM present
  345.  6    extension type (=CPU's Machine Status Word)
  346.  3-2    NumLock state at boot time
  347.     00 Auto
  348.     01 NumLock on
  349.     10 Numlock off
  350.  0    384K RAM relocated to top of memory
  351. ----------R12--------------------------------
  352. CMOS 12h - IBM - HARD DISK DATA
  353. Notes:    A PC with a single type 2 (20 Mb ST-225) hard disk will have 20h in
  354.       byte 12h
  355.     some PCs utilizing external disk controller ROMs will use type 0 to
  356.       disable ROM BIOS (e.g. Zenith 248 with Plus HardCard).
  357.  
  358. Bitfields for IBM hard disk data:
  359. Bit(s)    Description    (Table C014)
  360.  7-4    First Hard Disk Drive
  361.     00    No drive
  362.     01-0Eh    Hard drive Type 1-14
  363.     0Fh    Hard Disk Type 16-255
  364.         (actual Hard Drive Type is in CMOS RAM 19h)
  365.  3-0    Second Hard Disk Drive Type
  366.     (same as first except extrnded type will be found in 1Ah).
  367. ----------R12--------------------------------
  368. CMOS 12h - IBM PS/2 - SECOND FIXED DISK DRIVE TYPE (00-FFh)
  369. SeeAlso: CMOS 11h"IBM PS/2"
  370. ----------R13--------------------------------
  371. CMOS 13h - AMI Hi-Flex BIOS - ADVANCED SETUP OPTIONS
  372. SeeAlso: CMOS 11h"WinBIOS"
  373.  
  374. Bitfields for AMI Hi-Flex BIOS advanced setup options:
  375. Bit(s)    Description    (Table C015)
  376.  7    Mouse Enabled (1 = On)
  377.  6    Test Memory above 1 MB (1 = On)
  378.  5    Memory Test Tick Sound (1 = On)
  379.  4    Memory Parity Error Check (1 = On)
  380.  3    Press <Esc> to Disable Memory Test (1 = On)
  381.  2    User-Defined Hard Disk (1 = Type 47 data area at address 0:300h)
  382.  1    Wait for <F1> Message if Error (1 = On)
  383.  0    Turn Num Lock On at boot (1 = On)
  384. ----------R13--------------------------------
  385. CMOS 13h - AMI WinBIOS - PERIPHERAL OPTIONS
  386.  
  387. Bitfields for AMI WinBIOS peripheral options:
  388. Bit(s)    Description    (Table C016)
  389.  7-5    typematic rate
  390.     000-111 = 6,8,10,12,15,20,24,30 cps
  391.  4    numeric processor test enabled
  392. ----------R13--------------------------------
  393. CMOS 13h - PS/2 MCA - INTERNAL POST OPERATIONS
  394.  
  395. Bitfields for PS/2 MCA internal POST operations:
  396. Bit(s)    Description    (Table C017)
  397.  7    POST sets VGA pel information
  398.  6    RTC battery OK
  399.  5    invoke ROM BASIC from POST
  400.  4    POST sets typematic to 30cps/250ms delay instead of 10.9cps/500ms
  401.  3-2    unused or unknown
  402.  1    network password installed
  403.  0    power-on password installed
  404. ----------R13--------------------------------
  405. CMOS 13h - AWARD - Configuration Bits
  406.  
  407. Bitfields for AWARD configuration bits:
  408. Bit(s)    Description    (Table C018)
  409.  7    set keyboard typematic rate
  410.  4-6    keyboard repeat rate
  411.     000 =  6 cps
  412.     001 =  8 cps
  413.     010 = 10 cps
  414.     011 = 12 cps
  415.     100 = 15 cps
  416.     101 = 20 cps
  417.     110 = 24 cps
  418.     111 = 30 cps
  419.  2-3    keyboard typematic delay
  420.     00 =  250 Msec
  421.     01 =  500 Msec
  422.     10 =  750 Msec
  423.     11 = 1000 Msec
  424.  1    ???
  425.  0    boot up floppy seek
  426. ----------R14--------------------------------
  427. CMOS 14h - IBM - EQUIPMENT BYTE 
  428.  
  429. Bitfields for IBM equipment byte:
  430. Bit(s)    Description    (Table C019)
  431.  7-6    number of floppy drives (system must have at least one)
  432.     00b   1 Drive
  433.     01b   2 Drives
  434.     10b ??? 3 Drives
  435.     11b ??? 4 Drives
  436.  5-4    monitor type
  437.     00b Not CGA or MDA (observed for EGA & VGA)
  438.     01b 40x25 CGA
  439.     10b 80x25 CGA
  440.     11b MDA (Monochrome)
  441.  3    display enabled (turned off to enable boot of rackmount)
  442.  2    keyboard enabled (turn off to enable boot of rackmount)
  443.  1    math coprocessor installed
  444.  0    floppy drive installed (turned off for rackmount boot)
  445. ----------R14--------------------------------
  446. CMOS 14h - AMSTRAD - BYTE user RAM checksum
  447. Desc:    LSB of sum of all user bytes should be AAh
  448. ----------R15--------------------------------
  449. CMOS 15h - IBM - BASE MEMORY IN KB (low byte)
  450. ----------R15--------------------------------
  451. CMOS 15h - AMSTRAD - WORD Enter key scancode/ASCII code
  452. Note:    default: 1C0Dh    - emulates Return key
  453. ----------R16--------------------------------
  454. CMOS 16h - IBM - BASE MEMORY IN KB (high byte)
  455. Note:    The value in 15h-16h should be the same as in 0:413h and that
  456.       returned by INT 12h. A PC having 640k (280h) of conventional
  457.       memory will return 80h in byte 15h and 02h in byte 16h.
  458. ----------R17--------------------------------
  459. CMOS 17h - IBM - EXTENDED MEMORY IN KB (low byte)
  460. ----------R17--------------------------------
  461. CMOS 17h - AMSTRAD - WORD Forward delete key scancode/ASCII code
  462. Note:    default: 2207h    - emulates ^G (bell/beep)
  463. ----------R18--------------------------------
  464. CMOS 18h - IBM - EXTENDED MEMORY IN KB (high byte)
  465. Notes:    some systems will only accommodate 15 MB extended (16 MB total)
  466.     Format is the same as in 15h-16h
  467. ----------R19--------------------------------
  468. CMOS 19h - IBM - FIRST EXTENDED HARD DISK DRIVE TYPE
  469. Note:    not in original AT specification but now nearly universally used
  470.       except for PS/2.
  471.  
  472. (Table C020)
  473. Values for extended hard disk drive type:
  474.   00-0Fh unused (would not require extension. Note: this has the effect of
  475.       making type 0Fh (15d) unavailable.
  476.   10h-FFh First Extended Hard Drive Type 16d-255d
  477. Note: For most manufacturers the last drive type (typically either 47d or 49d)
  478.     is "user defined" and parameters are stored elsewhere in the CMOS.
  479. ----------R19--------------------------------
  480. CMOS 19h - MCA - SLOT 0 ADAPTER CARD ID
  481. ----------R19--------------------------------
  482. CMOS 19h - AMI - ???
  483.  
  484. Bitfields for AMI location 19h:
  485. Bit(s)    Description    (Table C021)
  486.  3-0    ???
  487.  7-4    ???
  488. ----------R191A------------------------------
  489. CMOS 19h-1Ah - AMSTRAD - Joystick fire button 1 scancode/ASCII code
  490. Note:    default: FFFFh    - (no translation)
  491. ----------R1A--------------------------------
  492. CMOS 1Ah - SECOND EXTENDED HARD DISK DRIVE TYPE
  493. SeeAlso: CMOS 19h"IBM",#C020
  494. ----------R1A--------------------------------
  495. CMOS 1Ah - MCA - SLOT 0 ADAPTER CARD ID
  496. ----------R1B--------------------------------
  497. CMOS 1Bh - MCA - SLOT 1 ADAPTER CARD ID
  498. ----------R1B--------------------------------
  499. CMOS 1Bh - AMI - First Hard Disk (type 47) user defined: # of Cylinders, LSB
  500. ----------R1B1C------------------------------
  501. CMOS 1Bh-1Ch - AMSTRAD - Joystick fire button 2 scancode/ASCII code
  502. Note:    default: FFFFh    - (no translation)
  503. ----------R1B--------------------------------
  504. CMOS 1Bh - PHOENIX - LSB of Word to 82335 RC1 roll compare register
  505. ----------R1B--------------------------------
  506. CMOS 1Bh - AWARD - CONFIGURATION BITS
  507.  
  508. Bitfields for AWARD shadow RAM configuration bits:
  509. Bit(s)    Description    (Table C022)
  510.  7-4    ???
  511.  3    Shadow ROM BIOS at DC00-DFFF
  512.  2    shadow        "     "   " D800-DBFF
  513.  1    shadow        "     "   " D400-D7FF
  514.  0    shadow        "     "   " D000-D3FF
  515. ----------R1C--------------------------------
  516. CMOS 1Ch - MCA - SLOT 1 ADAPTER CARD ID
  517. ----------R1C--------------------------------
  518. CMOS 1Ch - AMI - First Hard Disk user defined: # of Cylinders, High Byte
  519. ----------R1C--------------------------------
  520. CMOS 1Ch - PHOENIX - MSB of Word to 82335 RC1 roll compare register
  521. ----------R1C--------------------------------
  522. CMOS 1Ch,1Dh - AWARD - Password
  523. Note:    Stored as a checksum or CRC using unknown algorithm.  (See byte 11h 
  524.       to enable)
  525. ----------R1D--------------------------------
  526. CMOS 1Dh - MCA - SLOT 2 ADAPTER CARD ID
  527. ----------R1D--------------------------------
  528. CMOS 1Dh - AMI - First Hard Disk user defined: Number of Heads
  529. ----------R1D--------------------------------
  530. CMOS 1Dh - AMSTRAD - WORD mouse button 1 scancode/ASCII code
  531. Note:    default: FFFFh    - (no translation)
  532. ----------R1D--------------------------------
  533. CMOS 1Dh - Zenith Z-200 monitor - BOOT DRIVE SELECTION
  534.  
  535. Bitfields for Zenith Z-200 boot drive selection:
  536. Bit(s)    Description    (Table C023)
  537.  6-5    (0xx0 0000)
  538.     00 - MFM Monitor
  539.     01 - First floppy drive (A:)
  540.     10 - First fixed disk (C:)
  541.     11 - First floppy drive (A:). If not there then First fixed disk (C:)
  542.         (this is the default).
  543. ----------R1D--------------------------------
  544. CMOS 1Dh - PHOENIX - LSB of Word to 82335 RC2 roll compare register
  545. ----------R1D--------------------------------
  546. CMOS 1Dh - AWARD - MSB of password checksum (see byte 1Ch)
  547. ----------R1D--------------------------------
  548. CMOS 1Dh - Quadtel HT 12 BIOS - first user def. drive: # of cylinders low byte
  549. ----------R1E--------------------------------
  550. CMOS 1Eh - MCA - SLOT 2 ADAPTER CARD ID
  551. ----------R1E--------------------------------
  552. CMOS 1Eh - AMI - First Hard Disk user defined: WPC-low
  553. Desc:    Write Precompensation Cylinder, Low Byte, for first user-defined hard
  554.       disk
  555. ----------R1E--------------------------------
  556. CMOS 1Eh - PHOENIX - MSB of Word to 82335 RC2 roll compare register
  557. ----------R1E--------------------------------
  558. CMOS 1Eh - AWARD - 2nd Hard Disk user defined: # of Cylinders Low Byte
  559. ----------R1E--------------------------------
  560. CMOS 1Eh - Quadtel HT 12 BIOS - FIRST USER DEFINED DRIVE
  561.  
  562. Bitfields for Quadtel HT-12 user-defined drive heads/cylinders:
  563. Bit(s)    Description    (Table C024)
  564.  7-4    number of heads
  565.  3-0    number of cylinders (MSB)
  566. ----------R1F--------------------------------
  567. CMOS 1Fh - MCA - SLOT 3 ADAPTER CARD ID
  568. ----------R1F--------------------------------
  569. CMOS 1Fh - AMI - First Hard Disk user defined: WPC-high
  570. Desc:    Write Precompensation Cylinder, high byte, for first user-defined
  571.       hard disk
  572. ----------R1F--------------------------------
  573. CMOS 1Fh - AMSTRAD - WORD mouse button 2 scancode/ASCII code
  574. Note:    default: FFFFh    - (no translation)
  575. ----------R1F--------------------------------
  576. CMOS 1Fh - AWARD - 2nd Hard Disk user defined (type 48): # of Cylinders High
  577. ----------R1F--------------------------------
  578. CMOS 1Fh - Quadtel HT 12 BIOS - first user def. drive: WPC-low
  579. Desc:    Write Precompensation Cylinder, low byte, for first user-defined
  580.       hard disk
  581. ----------R20--------------------------------
  582. CMOS 20h - MCA - SLOT 3 ADAPTER CARD ID
  583. ----------R20--------------------------------
  584. CMOS 20h - AMI - First Hard Disk user defined: Control Byte
  585.  
  586. Bitfields for AMI user-defined hard disk control byte:
  587. Bit(s)    Description    (Table C025)
  588.  7-6    no retries (1)
  589.  5    bad sector map at last cylinder+1
  590.  4    unused (0)
  591.  3    more than 8 heads
  592.  2-0    unused (0)
  593. ----------R20--------------------------------
  594. CMOS 20h - AMI WinBIOS - First Hard Disk user defined: Landing Zone, Low Byte
  595. ----------R20--------------------------------
  596. CMOS 20h - PHOENIX - First user defined hard disk (type 48) Cylinders LSB
  597. ----------R20--------------------------------
  598. CMOS 20h - AWARD - 2nd Hard Disk user defined (type 48): Number of Heads
  599. ----------R20--------------------------------
  600. CMOS 20h - Quadtel HT 12 BIOS - FIRST USER DEFINED DRIVE
  601. SeeAlso: CMOS 26h"Quadtel"
  602.  
  603. Bitfields for Quadtel landing zone/write-precompensation:
  604. Bit(s)    Description    (Table C026)
  605.  7-4    landing zone MSB
  606.  3-0    write precom. cyl. MSB
  607. ----------R21--------------------------------
  608. CMOS 21h - MCA - Programmable Option Select configuration byte 2
  609. ----------R21--------------------------------
  610. CMOS 21h - AMI - First Hard Disk user defined: Landing Zone, Low Byte
  611. ----------R21--------------------------------
  612. CMOS 21h - AMI WinBIOS - First Hard Disk user defined: Landing Zone, High Byte
  613. ----------R21--------------------------------
  614. CMOS 21h - AMSTRAD - MOUSE X SCALING FACTOR
  615. Note:    default: 0Ah
  616. ----------R21--------------------------------
  617. CMOS 21h - PHOENIX - First user defined hard disk (type 48) Cylinders MSB
  618. ----------R21--------------------------------
  619. CMOS 21h - AWARD - 2nd Hard Disk user defined (type 48): Write Precomp Low Byte
  620. ----------R21--------------------------------
  621. CMOS 21h - Quadtel HT 12 BIOS - first user def. drive: landing zone low byte
  622. ----------R22--------------------------------
  623. CMOS 22h - MCA - Programmable Option Select configuration byte 3
  624. ----------R22--------------------------------
  625. CMOS 22h - AMI - First Hard Disk user defined: Landing Zone, High Byte
  626. ----------R22--------------------------------
  627. CMOS 22h - AMI WinBIOS - First Hard Disk user defined: # of Sectors per track
  628. ----------R22--------------------------------
  629. CMOS 22h - AMSTRAD - MOUSE Y SCALING FACTOR
  630. Note:    default: 0Ah
  631. ----------R22--------------------------------
  632. CMOS 22h - PHOENIX - First user defined hard disk (type 48)     of Heads
  633. ----------R22--------------------------------
  634. CMOS 22h - AWARD - 2nd Hard Disk user defined (type 48): Write Precomp High Byte
  635. ----------R22--------------------------------
  636. CMOS 22h - Quadtel HT 12 BIOS - first user def. drive: sectors per track
  637. ----------R23--------------------------------
  638. CMOS 23h - MCA - Programmable Option Select configuration byte 4
  639. ----------R23--------------------------------
  640. CMOS 23h - AMI - First Hard Disk user defined: # of Sectors per track
  641. ----------R23--------------------------------
  642. CMOS 23h - AMI WinBIOS - Second Hard Disk user defined: # Cylinders, Low Byte
  643. ----------R23--------------------------------
  644. CMOS 23h - AMSTRAD - INITIAL VDU MODE AND DRIVE COUNT
  645. Note:    default: 20h
  646.  
  647. Bitfields for Amstrad initial VDU mode/drive count:
  648. Bit(s)    Description    (Table C027)
  649.  7    enables extended serial flow control (NB this is buggy)
  650.  6    set if two floppy drives installed
  651.  5-4    (from Amstrad 1640 tech ref)
  652.     00    Internal video adapter
  653.     01    CGA card added; 40 x 25 mode
  654.     10    CGA card added; 80 x 25 mode
  655.     11    mono card added; 80 x 25 mode
  656. ----------R23--------------------------------
  657. CMOS 23h - PHOENIX - First user defined hard disk (type 48) Write Precomp. LSB
  658. ----------R23--------------------------------
  659. CMOS 23h - AWARD - 2nd Hard Disk user defined (type 48): Landing Zone Low Byte
  660. ----------R23--------------------------------
  661. CMOS 23h - Quadtel HT 12 BIOS - second user def. drive: # of cylinders low byte
  662. ----------R24--------------------------------
  663. CMOS 24h - MCA - Programmable Option Select configuration byte 5
  664. ----------R24--------------------------------
  665. CMOS 24h - AMI - Second Hard Disk user defined: # Cylinders, Low Byte
  666. ----------R24--------------------------------
  667. CMOS 24h - AMI WinBIOS - Second Hard Disk user defined: # Cylinders, High Byte
  668. ----------R24--------------------------------
  669. CMOS 24h - AMSTRAD - INITIAL VDU CHARACTER ATTRIBUTE
  670. Note: default: 7h
  671. ----------R24--------------------------------
  672. CMOS 24h - PHOENIX - First user defined hard disk (type 48) Write Precomp. MSB
  673. ----------R24--------------------------------
  674. CMOS 24h - AWARD - 2nd Hard Disk user defined (type 48): Landing Zone High Byte
  675. ----------R24--------------------------------
  676. CMOS 24h - Quadtel HT 12 BIOS - SECOND USER DEFINED DRIVE
  677. SeeAlso: CMOS 1Eh"Quadtel",#C024
  678. ----------R25--------------------------------
  679. CMOS 25h - AMI - Second Hard Disk user defined: # of Cylinders, High Byte
  680. ----------R25--------------------------------
  681. CMOS 25h - AMI WinBIOS - Second Hard Disk user defined: Number of Heads
  682. ----------R25--------------------------------
  683. CMOS 25h - AMSTRAD - size of RAM disk in 2K blocks
  684. Note:    default: 0  - only used by the RAMDISK software supplied.
  685. ----------R25--------------------------------
  686. CMOS 25h - PHOENIX - First user defined hard disk (type 48) Parking zone LSB
  687. ----------R25--------------------------------
  688. CMOS 25h - AWARD - 2nd Hard Disk user defined (type 48): Sectors per Track
  689. ----------R25--------------------------------
  690. CMOS 25h - Quadtel HT 12 BIOS - second user def. drive: WPC-low
  691. Desc:    Write Precompensation Cylinder, low byte
  692. ----------R26--------------------------------
  693. CMOS 26h - AMI - Second Hard Disk user defined: Number of Heads
  694. ----------R26--------------------------------
  695. CMOS 26h - AMI WinBIOS - Second Hard Disk user defined: WPC-low
  696. Desc:    Write Precompensation Cylinder, Low Byte
  697. ----------R26--------------------------------
  698. CMOS 26h - AMSTRAD - INITIAL SYSTEM UART SETUP BYTE
  699. Note:    default: E3h - format as for Int 14h fn 0
  700. ----------R26--------------------------------
  701. CMOS 26h - PHOENIX - First user defined hard disk (type 48) Parking zone MSB
  702. ----------R26--------------------------------
  703. CMOS 26h - AWARD - 1st Hard Disk user defined (type 49): # Cylinders, Low Byte
  704. ----------R26--------------------------------
  705. CMOS 26h - Quadtel HT 12 BIOS - SECOND USER DEFINED DRIVE
  706. SeeAlso: CMOS 20h"Quadtel",#C026
  707. ----------R27--------------------------------
  708. CMOS 27h - AMI - Second Hard Disk user defined: WPC-low
  709. Desc:    Write Precompensation Cylinder, Low Byte
  710. ----------R27--------------------------------
  711. CMOS 27h - AMI WinBIOS - Second Hard Disk user defined: WPC-high
  712. Desc:    Write Precompensation Cylinder, High Byte
  713. ----------R27--------------------------------
  714. CMOS 27h - AMSTRAD - INITIAL EXTERNAL UART SETUP BYTE
  715. Note:    default: E3h - format as for Int 14h fn 0
  716. ----------R27--------------------------------
  717. CMOS 27h - PHOENIX - First user defined hard disk (type 48) Sectors per track
  718. ----------R27--------------------------------
  719. CMOS 27h - AWARD - 1st Hard Disk user defined (type 49): # Cylinders, High Byte
  720. ----------R27--------------------------------
  721. CMOS 27h - Quadtel HT 12 BIOS - SECOND USER DEF. DRIVE: landing zone low byte
  722. ----------R28--------------------------------
  723. CMOS 28h - AMI - Second Hard Disk user defined: WPC-high
  724. Desc:    Write Precompensation Cylinder, High Byte
  725. ----------R28--------------------------------
  726. CMOS 28h - AMI WinBIOS - Second Hard Disk user defined: Landing Zone, Low Byte
  727. ----------R28--------------------------------
  728. CMOS 28h - HP Vectra - checksum over bytes 29h-2Dh
  729. ----------R28--------------------------------
  730. CMOS 28h - AWARD - 1st Hard Disk user defined (type 49): Number of Heads
  731. ----------R28--------------------------------
  732. CMOS 28h - Quadtel HT 12 BIOS - second user def. drive: sectors per track
  733. ----------R283F------------------------------
  734. CMOS 28h-3Fh - AMSTRAD - user applications default: zeroes
  735. ----------R29--------------------------------
  736. CMOS 29h - AMI - Second Hard Disk user defined: Control Byte
  737. Note:    80h if # of heads is equal or greater than 8
  738. ----------R29--------------------------------
  739. CMOS 29h - AMI WinBIOS - Second Hard Disk user defined: Landing Zone, High Byte
  740. ----------R29--------------------------------
  741. CMOS 29h - PHOENIX - LSB word to Intel 82335 CC0 compare register
  742. ----------R29--------------------------------
  743. CMOS 29h - AWARD - 1st Hard Disk user defined (type 49): Write Precomp Low Byte
  744. ----------R29--------------------------------
  745. CMOS 29h - HP Vectra - OFFICIALLY RESERVED "CMOS_HPCONFIG"
  746.  
  747. Bitfields for HP Vectra CMOS_HPCONFIG:
  748. Bit(s)    Description    (Table C028)
  749.  7    include byte 2Ch in checksum (default = 0)
  750.  6    select second ROM video adapter as primary (default = 0)
  751.  5-1    reserved
  752.  0    manufacturing test enabled
  753. ----------R2A--------------------------------
  754. CMOS 2Ah - AMI - Second Hard Disk user defined: Landing Zone, Low Byte
  755. ----------R2A--------------------------------
  756. CMOS 2Ah - AMI WinBIOS - Second Hard Disk user defined: # of Sectors per track
  757. ----------R2A--------------------------------
  758. CMOS 2Ah - HP Vectra - OFFICIALLY RESERVED
  759. ----------R2A--------------------------------
  760. CMOS 2Ah - PHOENIX - MSB word to Intel 82335 CC0 compare register
  761. ----------R2A--------------------------------
  762. CMOS 2Ah - AWARD - 1st Hard Disk user defined (type 49): Write Precomp High
  763. ----------R2B--------------------------------
  764. CMOS 2Bh - AMI - Second Hard Disk user defined: Landing Zone, High Byte
  765. ----------R2B--------------------------------
  766. CMOS 2Bh - AMI WinBIOS - IDE and shadowing control
  767.  
  768. Bitfields for AMI WinBIOS IDE/shadowing control:
  769. Bit(s)    Description    (Table C029)
  770.  7    LBA mode enabled
  771.  6    IDE block mode enabled
  772.  5    32-bit transfer enabled
  773.  4    unused
  774.  3    shadowing of DC00h enabled
  775.  2    shadowing of D800h enabled
  776.  1    shadowing of D400h enabled
  777.  0    shadowing of D000h enabled
  778. SeeAlso: #C030
  779. ----------R2B--------------------------------
  780. CMOS 2Bh - HP Vectra - OFFICIALLY RESERVED
  781. ----------R2B--------------------------------
  782. CMOS 2Bh - PHOENIX - LSB word to Intel 82335 CC1 compare register
  783. ----------R2B--------------------------------
  784. CMOS 2Bh - AWARD - 1st Hard Disk user defined (type 49): Landing Zone  Low Byte
  785. ----------R2C--------------------------------
  786. CMOS 2Ch - AMI - Second Hard Disk user defined: # of Sectors per track
  787. ----------R2C--------------------------------
  788. CMOS 2Ch - AMI WinBIOS - CACHE CONTROL
  789.  
  790. Bitfields for AMI WinBIOS cache control:
  791. Bit(s)    Description    (Table C030)
  792.  7    external RAM cache enabled
  793.  6    internal RAM cache enabled
  794.  5    shadowing of E000h enabled
  795.  4    shadowing of CC00h enabled
  796.  3    shadowing of C800h enabled
  797.  2    shadowing of C400h (video ROM) enabled
  798.  1    shadowing of C000h (video ROM) enabled
  799.  0    shadowing of system BIOS (F000h, 64K) enabled
  800. SeeAlso: #C029
  801. ----------R2C--------------------------------
  802. CMOS 2Ch - HP Vectra - OFFICIALLY RESERVED
  803. ----------R2C--------------------------------
  804. CMOS 2Ch - COMPAQ - NumLock CONTROL
  805.  
  806. Bitfields for Compaq NumLock control:
  807. Bit(s)    Description    (Table C031)
  808.  6    0 - numlock OFF on boot, 1 - numlock ON at boot
  809. ----------R2C--------------------------------
  810. CMOS 2Ch - PHOENIX - MSB word to Intel 82335 CC1 compare register
  811. ----------R2C--------------------------------
  812. CMOS 2Ch - AWARD - 1st Hard Disk user defined (type 49): Landing Zone High Byte
  813. ----------R2D--------------------------------
  814. CMOS 2Dh - AMI Hi-Flex BIOS - CONFIGURATION OPTIONS 
  815.  
  816. Bitfields for AMI Hi-Flex BIOS configuration options:
  817. Bit(s)    Description    (Table C032)
  818.  7    Weitek Installed
  819.  6    Floppy Drive Seek - turn off for fast boot
  820.  5    Boot Order
  821.     0 - Drive C:, then A:
  822.     1 - Drive A:, then C:
  823.  4    Boot Speed (0 - Low; 1 - High)
  824.  3    External Cache Enable (1 = On)
  825.  2    Internal Cache Enable (1 = On)
  826.  1    Use Fast Gate A20 after boot (1 = On)
  827.  0    Turbo Switch (1 = On)
  828. ----------R2D--------------------------------
  829. CMOS 2Dh - AMI WinBIOS - flags
  830.  
  831. Bitfields for AMI WinBIOS flags:
  832. Bit(s)    Description    (Table C033)
  833.  7    Weitek Installed
  834.  6    bootsector virus protection enabled
  835.  5    mouse enabled
  836.  4    password checking (0 setup, 1 always)
  837.  3    parity error check enabled
  838.  2-1    boot order (00 = C:A:, 01 = A:C:)
  839.  0    turbo switch enabled
  840. ----------R2D--------------------------------
  841. CMOS 2Dh - HP Vectra - OFFICIALLY RESERVED
  842. ----------R2D--------------------------------
  843. CMOS 2Dh - PHOENIX - ???
  844. Note:    checks for values AAh or CCh
  845. ----------R2D--------------------------------
  846. CMOS 2Dh - AWARD - 1st Hard Disk user defined (type 49): Sectors per Track
  847. ----------R2E--------------------------------
  848. CMOS 2Eh - IBM - Standard CMOS Checksum, High Byte
  849. ----------R2F--------------------------------
  850. CMOS 2Fh - IBM - Standard CMOS Checksum, Low Byte
  851.  
  852.  2Eh and 2Fh are as defined by the original IBM PC/AT specification and
  853.  represent a byte-wise additive sum of the values in locations 10h-2Dh only,
  854.  00h-0Fh and 30h-33h are not included. This definition is used by most
  855.  clone manufacturers including AMI, Compaq, Tandon, NEC, and Zenith. The 
  856.  IBM PS/2 line does not follow this standard with the range 19h-31h being 
  857.  undefined.  On the original HP Vectra, this checksum only covers locations
  858.  10h to 20h, with a separate checksum for bytes 29h-2Ch (see offset 28h).
  859.  
  860. ----------R30--------------------------------
  861. CMOS 30h - IBM - EXTENDED MEMORY IN KB (low byte)
  862. SeeAlso: CMOS 17h"IBM",CMOS 31h
  863. ----------R31--------------------------------
  864. CMOS 31h - IBM - EXTENDED MEMORY IN KB (high byte) 
  865.  (this appears to mirror the value in bytes 17h-18h.) 
  866. SeeAlso: CMOS 18h"IBM",CMOS 30h
  867. ----------R32--------------------------------
  868. CMOS 32h - IBM - CENTURY BYTE (BCD value for the century - currently 19h)
  869. ----------R32--------------------------------
  870. CMOS 32h - IBM PS2 - CONFIGURATION CRC LOW BYTE
  871. Desc:    CRC for range 10h-31h
  872. SeeAlso: CMOS 33h"PS/2"
  873. ----------R33--------------------------------
  874. CMOS 33h - IBM - INFORMATION FLAG
  875.  
  876. Bitfields for IBM information flag:
  877. Bit(s)    Description    (Table C034)
  878.  7    128K ??? believe this indicates the presence of the special 128k
  879.       memory expansion board for the AT to boost the "stock" 512k
  880.       to 640k - all machines surveyed have this bit set)
  881.  6-0    ???
  882. ----------R33--------------------------------
  883. CMOS 33h - IBM PS/2 - CONFIGURATION CRC HIGH BYTE (see entry for 32h)
  884. SeeAlso: CMOS 32h"PS/2"
  885. ----------R33--------------------------------
  886. CMOS 33h - PHOENIX - Bit 4 (000x 0000) bit 4 from Intel CPU register CR0
  887. ----------R33--------------------------------
  888. CMOS 33h - AMI WinBIOS - INFORMATION FLAGS
  889.  
  890. Bitfields for AMI WinBIOS information flags:
  891. Bit(s)    Description    (Table C035)
  892.  7    IBM-defined top 128K present
  893.  6-4    CPU internal clock frequency
  894.     000-011 = 25, 33, 40, 50 MHz
  895.     100 = 60/66 MHz
  896.     101 = 75 MHz
  897.     110 = 80 MHz
  898.     111 = 90/100 MHz
  899.  2-1    CPU internal clock multiplier
  900.     00-11 = 1,2,3,4
  901.  0    FlashROM programming enabled (Ctrl-Home pressed at power on)
  902.     Note: this location is not included in any CMOS checksum fields
  903. ----------R33--------------------------------
  904. CMOS 33h - Quadtel HT12 BIOS 03.05.03 - INFORMATION FLAGS
  905.  
  906. Bitfields for Quadtel HT12 information flags:
  907. Bit(s)    Description    (Table C036)
  908.  7    640K RAM present
  909.  6    extension type (=CPU's Machine Status Word)
  910.  1    print welcome message
  911. ----------R34--------------------------------
  912. CMOS 34h - AMI - SHADOWING & BOOT PASSWORD
  913. SeeAlso: CMOS 35h"AMI"
  914.  
  915. Bitfields for AMI shadowing control 1:
  916. Bit(s)    Description    (Table C037)
  917.  7-6    password selection
  918.     00b Disable
  919.     10b Reserved
  920.     01b Set
  921.     11b Boot
  922.  5    C8000h Shadow ROM (Bit 1 = On) 
  923.  4    CC000h Shadow ROM (Bit 1 = On)
  924.  3    D0000h Shadow ROM (Bit 1 = On)
  925.  2    D4000h Shadow ROM (Bit 1 = On)
  926.  1    D8000h Shadow ROM (Bit 1 = On)
  927.  0    DC000h Shadow ROM (Bit 1 = On)
  928. SeeAlso: #C038
  929. ----------R34--------------------------------
  930. CMOS 34h - AMI - EXTENDED MEMORY >16M (low byte)
  931. Note:    this and the following byte contain the total extended memory in 64K
  932.       blocks
  933. SeeAlso: CMOS 35h"AMI"
  934. ----------R34--------------------------------
  935. CMOS 34h - (AMI WinBIOS) system-specific information (bits 3-1)
  936. ----------R343A------------------------------
  937. CMOS 34h-3Ah - (AWARD) ??? unused ???  Defaults to all FFh's.
  938. ----------R35--------------------------------
  939. CMOS 35h - AMI - EXTENDED MEMORY >16M (high byte)
  940. Note:    this and the previous byte contain the total extended memory in 64K
  941.       blocks
  942. SeeAlso: CMOS 34h"AMI"
  943. ----------R35--------------------------------
  944. CMOS 35h - AMI - SHADOWING CONTROL 2
  945. SeeAlso: CMOS 34"AMI"
  946.  
  947. Bitfields for AMI shadowing control 2:
  948. Bit(s)    Description    (Table C038)
  949.  7    E0000h Shadow ROM (Bit 1 = On)
  950.  6    E4000h Shadow ROM (Bit 1 = On)
  951.  5    E8000h Shadow ROM (Bit 1 = On)
  952.  4    EC000h Shadow ROM (Bit 1 = On)
  953.  3    F0000h Shadow ROM (Bit 1 = On)
  954.  2    C0000h Shadow ROM (Bit 1 = On)
  955.  1    C4000h Shadow ROM (Bit 1 = On)
  956.  0    reserved
  957. SeeAlso: #C037
  958. ----------R35--------------------------------
  959. CMOS 35h - AMI WinBIOS - EXTENDED MEMORY SIZE IN 64K BLOCKS (low byte)
  960. SeeAlso: CMOS 36h"AMI WinBIOS"
  961. ----------R35--------------------------------
  962. CMOS 35h - PHOENIX - Second user defined hard disk (type 48) Cylinders LSB
  963. Note:    used only when PS/2 style password is NOT in effect
  964. ----------R35--------------------------------
  965. CMOS 35h - AMI 1990 Hyundai super-NB368S notebook
  966.  
  967. Bitfields for Hyundai configuration:
  968. Bit(s)    Description    (Table C039)
  969.  3-1    shadowing
  970.     000  shadow disabled
  971.     011  video BIOS shadowed
  972.     100  main BIOS shadowed
  973.     111  both
  974.  0    coprocessor enabled
  975. ----------R36--------------------------------
  976. CMOS 36h - PHOENIX - Second user defined hard disk (type 48) Cylinders MSB
  977. Note:    used only when PS/2 style password is NOT in effect.
  978. ----------R36--------------------------------
  979. CMOS 36h - AWARD - IDE control
  980.  
  981. Bitfields for AWARD IDE control:
  982. Bit(s)    Description    (Table C040)
  983.  6    IDE 32-bit transfer mode
  984. ----------R36--------------------------------
  985. CMOS 36h - AMI - ???
  986.  
  987. Bitfields for AMI ???:
  988. Bit(s)    Description    (Table C041)
  989.  1-0    ???
  990.  3-2    ???
  991. ----------R36--------------------------------
  992. CMOS 36h - AMI WinBIOS - EXTENDED MEMORY SIZE IN 64K BLOCKS (high byte)
  993. ----------R36--------------------------------
  994. CMOS 36h - AMI 1990 Hyundai super-NB368S notebook - CPU/VIDEO CONFIGURATION
  995.  
  996. Bitfields for Hyundai CPU/video control:
  997. Bit(s)    Description    (Table C042)
  998.  7    =1 LCD, 0 CRT at boot time
  999.  6    =1 reversed, 0 normal video mode
  1000.  5    =1 external, 0 internal keyboard
  1001.  4-3    CPU speed
  1002.     00  high
  1003.     01  medium
  1004.     10  low
  1005.  2-1    harddisk vendor 1,2,3,4
  1006.  0    relocation enabled
  1007. ----------R36--------------------------------
  1008. CMOS 36h - Quadtel HT12 BIOS 03.05.03 - EXTENDED MEMORY (low byte)
  1009. ----------R37--------------------------------
  1010. CMOS 37h - IBM PS/2 - DATE CENTURY BYTE 
  1011. ----------R37--------------------------------
  1012. CMOS 37h - PHOENIX - Second user defined hard disk (type 48) # of heads
  1013.        NOTE: used only when PS/2 style password is NOT in effect.
  1014. ----------R37--------------------------------
  1015. CMOS 37h - AMI Hi-Flex BIOS - ???
  1016.  
  1017. Bitfields for AMI Hi-Flex BIOS location 37h:
  1018. Bit(s)    Description    (Table C043)
  1019.  7    ???
  1020. ----------R37--------------------------------
  1021. CMOS 37h - AMI WinBIOS - SETUP COLORS, PASSWORD SEED
  1022.  
  1023. Bitfields for AMI WinBIOS setup colors and password seed:
  1024. Bit(s)    Description    (Table C044)
  1025.  7-4    password seed
  1026.  3-0    WinBIOS/AMIBIOS setup color options
  1027. ----------R37--------------------------------
  1028. CMOS 37h - Quadtel HT12 BIOS 03.05.03 - EXTENDED MEMORY (high byte)
  1029. ----------R373A------------------------------
  1030. CMOS 37h-3Ah - AMI 1990 Hyundai super-NB368S notebook - PASSWORD
  1031. Desc:    encoded password, max 4 bytes.
  1032. ----------R38--------------------------------
  1033. CMOS 38h - PHOENIX - Second user defined hard disk (type 48) Write Precomp. LSB
  1034. Note:    used only when PS/2 style password is NOT in effect.
  1035. ----------R383D------------------------------
  1036. CMOS 38h-3Dh - AMI - Encrypted Password
  1037. ----------R383F------------------------------
  1038. CMOS 38h-3Fh - ??? IBM PS/2 - Encrypted Password
  1039. Note:    Initialized to 00h in all bytes. Will accept from 1-7 scan codes. 
  1040. ----------R39--------------------------------
  1041. CMOS 39h - PHOENIX - Second user defined hard disk (type 48) Write Precomp. MSB
  1042. Note:    used only when PS/2 style password is NOT in effect.
  1043. ----------R3A--------------------------------
  1044. CMOS 3Ah - PHOENIX - Second user defined hard disk (type 48) Parking Zone LSB
  1045. Note:    used only when PS/2 style password is NOT in effect.
  1046. ----------R3B--------------------------------
  1047. CMOS 3Bh - PHOENIX - Second user defined hard disk (type 48) Parking Zone MSB
  1048. Note:    used only when PS/2 style password is NOT in effect.
  1049. ----------R3B--------------------------------
  1050. CMOS 3Bh - AWARD - CONFIGURATION BITS
  1051.  
  1052. Bitfields for AWARD configuration bits:
  1053. Bit(s)    Description    (Table C045)
  1054.  4-7    Screen Colors Used in Setup (see #C046)
  1055.  3    ??? Default = 0
  1056.  2    ??? Default = 0
  1057.  1    ??? Default = 1
  1058.  0    Enable External Cache
  1059.  
  1060. (Table C046)
  1061. Values for AWARD setup colors:
  1062.  0000  Yellow/White on Blue (Default)
  1063.  0001  Magenta/White on Blue
  1064.  0010  Yellow/Black on Green
  1065.  0011  Yellow/Green on Cyan
  1066.  0100  Black/Yellow on Cyan
  1067.  0101  Brown/White on Cyan
  1068.  0110  White/Green on Red
  1069.  0111  White/White on Red
  1070.  1000  Green/White on Magenta
  1071.  1001  Yellow/Red on Magenta
  1072.  1010  Red/White on Grey
  1073.  1011  Yellow/White on Grey
  1074.  1100  Cyan/White on Grey
  1075.  1101  Cyan/Yellow on Black
  1076.  1110  White on Black (Monochrome)
  1077.  1111  Green/Red on Black
  1078. SeeAlso: #C045
  1079. ----------R3C--------------------------------
  1080. CMOS 3Ch - PHOENIX - Second user defined hard disk (type 48) Sectors per track
  1081. Note:    used only when PS/2 style password is NOT in effect.
  1082. ----------R3C--------------------------------
  1083. CMOS 3Ch - AWARD - Boot Configuration Bits
  1084.  
  1085. Bitfields for AWARD boot configuration bits:
  1086. Bit(s)    Description    (Table C047)
  1087.  7    disable virus warning on boot
  1088.  6,5    ???
  1089.  4    Quick POST Enabled
  1090.  3,2    ???
  1091.  1    Enable Turbo Switch Input
  1092.  0    0 = Boot from A, then C
  1093.     1 = Boot from C, then A
  1094. ----------R3C--------------------------------
  1095. CMOS 3Ch - Quadtel HT12 BIOS 03.05.03 - TOTAL MEMORY (low byte)
  1096. SeeAlso: CMOS 3Dh"Quadtel"
  1097. ----------R3D--------------------------------
  1098. CMOS 3Dh - AWARD - ???
  1099. ----------R3D--------------------------------
  1100. CMOS 3Dh - Phoenix - ???
  1101. Note:    bit 3 = base memsize 512K/640K
  1102. ----------R3D--------------------------------
  1103. CMOS 3Dh - Quadtel HT12 BIOS 03.05.03 - TOTAL MEMORY (high byte)
  1104. SeeAlso: CMOS 3Ch"Quadtel"
  1105. ----------R3E--------------------------------
  1106. CMOS 3Eh - AMI - Extended CMOS Checksum, High Byte
  1107. Note:    this checksum covers locations 34h - 3Dh, but is not used by some
  1108.       later AMI BIOSes
  1109. ----------R3E--------------------------------
  1110. CMOS 3Eh - AWARD - BOOT CONFIGURATION BITS
  1111.  
  1112. Bitfields for AWARD boot configuration bits:
  1113. Bit(s)    Description    (Table C048)
  1114.  7    Shadow Video BIOS at C000h
  1115.  6,5    ???
  1116.  4    Swap Floppy Drive
  1117.  3    ???
  1118.  2    Don't Halt on Diskette Errors at Boot
  1119.  1    Don't Halt on Keyboard Errors at Boot
  1120.  0    Never Halt for any error at Boot
  1121. ----------R3E--------------------------------
  1122. CMOS 3Eh - Quadtel HT12 BIOS 03.05.03 - ???
  1123.  
  1124. Bitfields for Quadtel ???:
  1125. Bit(s)    Description    (Table C049)
  1126.  2    system error occurred ?? (timer/RTC)
  1127.  0    =0 extended system configuration loaded
  1128.     =1 checksum error
  1129. ----------R3E--------------------------------
  1130. CMOS 3Eh - Phoenix - SHADOWING CONTROL
  1131.  
  1132. Bitfields for Phoenix shadowing control:
  1133. Bit(s)    Description    (Table C050)
  1134.  7    relocate enable
  1135.  1    shadow video enable
  1136.  0    shadow BIOS enable
  1137. ----------R3F--------------------------------
  1138. CMOS 3Fh - AMI - Extended CMOS Checksum, Low Byte
  1139. Note:    this checksum covers locations 34h - 3Dh, but is not used by some
  1140.       later AMI BIOSes
  1141. ----------R3F--------------------------------
  1142. CMOS 3Fh - AWARD - ???
  1143. ---------------------------------------------
  1144.  
  1145.  End of original 64 CMOS RAM bytes. Many modern chips now contain 128
  1146.  bytes and the IBM PS/2 has provision for 2k of "Expansion CMOS". 
  1147.  The AMI HI-FLEX description is below. If the chip does have only
  1148.  64 bytes, addresses will wrap so that requests for bytes 40h-7Fh will 
  1149.  return the same values as 00h-3Fh.
  1150.  
  1151. ----------R40--------------------------------
  1152. CMOS 40h - AMI 1990 Hyundai super-NB368S notebook - POWER-SAVE CONFIGURATION
  1153.  
  1154. Bitfields for Hyundai power-save configuration:
  1155. Bit(s)    Description    (Table C051)
  1156.  7    power save enabled
  1157.  6-0    HD power save wait, units of 1 minute (0-20)
  1158. ----------R40--------------------------------
  1159. CMOS 40h - AWARD - Motherboard Chipset (SiS 85C501/85C502 shown)
  1160.  
  1161. Bitfields for AWARD motherboard chipset:
  1162. Bit(s)    Description    (Table C052)
  1163.  7-1    ???
  1164.  0    Automatic Configuration Enabled (Default: 1=enabled)
  1165. ----------R4055------------------------------
  1166. CMOS 40h-55h - AMI WinBIOS - PCI BIOS setup data
  1167. ----------R41--------------------------------
  1168. CMOS 41h - AMI - WAIT STATE CONFIGURATION
  1169.  
  1170. Bitfields for AMI wait state configuration:
  1171. Bit(s)    Description    (Table C053)
  1172.  7-6    IOR/IOW Wait states
  1173.  5-4    16-bit DMA Wait States
  1174.  3-2    8-bit DMA Wait States
  1175.  1    EMR bit
  1176.  0    DMA Clock Source
  1177. ----------R4243------------------------------
  1178. CMOS 42h-43h - ???
  1179. ----------R4244------------------------------
  1180. CMOS 42h-44h - AWARD - ??? chipset setup ???
  1181. ----------R44--------------------------------
  1182. CMOS 44h - AMI - NMI CONTROL
  1183.  
  1184. Bitfields for AMI NMI control:
  1185. Bit(s)    Description    (Table C054)
  1186.  4    NMI Power Fail Warning
  1187.  3    NMI Local Bus Timeout
  1188. ----------R45--------------------------------
  1189. CMOS 45h - AMI - BUS DELAYS
  1190.  
  1191. Bitfields for AMI bus delays:
  1192. Bit(s)    Description    (Table C055)
  1193.  7-6    AT Bus 32-Bit Delay
  1194.  5-4    AT Bus 16-Bit Delay
  1195.  3-2    AT Bus 8-Bit Delay
  1196.  1-0    AT Bus I/O Delay
  1197. SeeAlso: #C058
  1198. ----------R45--------------------------------
  1199. CMOS 45h - AMI (Saturn) - CACHE TAGS
  1200. SeeAlso: CMOS 46h"Saturn"
  1201.  
  1202. Bitfields for AMI (Saturn) cache tags:
  1203. Bit(s)    Description    (Table C056)
  1204.  7    base memory 640K instead of 512K
  1205.  4-3    external cache tag width
  1206.     00 8 bits
  1207.     01 9 bits
  1208.     10 7 bits
  1209.     11 7 bits
  1210. ----------R45--------------------------------
  1211. CMOS 45h - AWARD - Motherboard Chipset (SiS 85C501/85C502 shown)
  1212.  
  1213. Bitfields for AWARD motherboard chipset:
  1214. Bit(s)    Description    (Table C057)
  1215.  7    System BIOS Cacheable (Default: 1=enabled)
  1216.  6    Video BIOS Cacheable  (Default: 1=enabled)
  1217.  5-0    ???
  1218. ----------R46--------------------------------
  1219. CMOS 46h - AMI - BUS WAIT STATES
  1220.  
  1221. Bitfields for AMI bus wait states:
  1222. Bit(s)    Description    (Table C058)
  1223.  7-6    AT Bus 32 Bit Wait States
  1224.  5-4    AT Bus 16 Bit Wait States
  1225.  3-2    AT Bus    8 Bit Wait States
  1226.  1-0    AT Bus Clock Source
  1227. SeeAlso: #C055
  1228. ----------R46--------------------------------
  1229. CMOS 46h - AMI (Saturn) - SHADOW RAM CONTROL 1
  1230.  
  1231. Bitfields for AMI (Saturn) shadow RAM control 1:
  1232. Bit(s)    Description    (Table C059)
  1233.  7-6    D000h-D3FFh shadow RAM
  1234.     00 don't shadow
  1235.     01 absent
  1236.     10 shadow
  1237.     11 reserved
  1238.  5-4    CC00h-CFFFh shadow RAM (as for D000h-D3FFh)
  1239.  3-2    C800h-CBFFh shadow RAM (as for D000h-D3FFh)
  1240.  1-0    C000h-C7FFh shadow RAM (as for D000h-D3FFh)
  1241. SeeAlso: #C060
  1242. ----------R4647------------------------------
  1243. CMOS 46h-47h - AWARD - ??? chipset setup ???
  1244. ----------R47--------------------------------
  1245. CMOS 47h - AMI (Saturn) - SHADOW RAM CONTROL 2
  1246.  
  1247. Bitfields for AMI (Saturn) shadow RAM control 2:
  1248. Bit(s)    Description    (Table C060)
  1249.  7-6    DC00h-DFFFh shadow RAM
  1250.     00 don't shadow
  1251.     01 absent
  1252.     10 shadow
  1253.     11 reserved
  1254.  5-4    D800h-DBFFh shadow RAM (as for DC00h-DFFFh)
  1255.  3-2    D400h-D7FFh shadow RAM (as for DC00h-DFFFh)
  1256.  0    PCI VGA palette snooping 
  1257. SeeAlso: #C059
  1258. ----------R4750------------------------------
  1259. CMOS 47h-50h - ???
  1260. ----------R484F------------------------------
  1261. CMOS 48h-4Fh - AWARD - ??? unused ???  Defaults to all FFh's.
  1262. ----------R48--------------------------------
  1263. CMOS 48h - AMI (Saturn) - EXTERNAL CACHE
  1264.  
  1265. Bitfields for AMI (Saturn) external cache:
  1266. Bit(s)    Description    (Table C061)
  1267.  5    external cache write-back instead of write-through
  1268. ----------R49--------------------------------
  1269. CMOS 49h - AMI (Saturn) - PERFORMANCE
  1270.  
  1271. Bitfields for AMI (Saturn) performance:
  1272. Bit(s)    Description    (Table C062)
  1273.  1    DRAM enhanced performance mode
  1274.  0    ISA/DMA enhanced performance mode
  1275. SeeAlso: #C063
  1276. ----------R4A--------------------------------
  1277. CMOS 4Ah - AMI (Saturn) - BUS CONFIGURATION
  1278.  
  1279. Bitfields for AMI (Saturn) bus configuration:
  1280. Bit(s)    Description    (Table C063)
  1281.  7    ISA enhanced performance mode
  1282.  6    ISA bus master installed
  1283.  5-4    PCI slot IRQ
  1284.     00 IRQ5
  1285.     01 IRQ9
  1286.     10 IRQ15
  1287.     11 IRQ15
  1288.  3    PCI on-board SCSI controller enabled
  1289.  1-0    ISA frame buffer
  1290.     00 disabled
  1291.     01 1MB at 15MB
  1292.     10 2MB at 14MB
  1293.     11 4MB at 12MB
  1294. SeeAlso: #C062
  1295. ----------R4B--------------------------------
  1296. CMOS 4Bh - AMI (Saturn) - ON-BOARD PERIPHERALS
  1297.  
  1298. Bitfields for AMI (Saturn) on-board peripherals:
  1299. Bit(s)    Description    (Table C064)
  1300.  4    onboard FDC enabled
  1301.  0    onboard IDE enabled
  1302. ----------R4C--------------------------------
  1303. CMOS 4Ch - AMI (Saturn) - PARALLEL PORT
  1304.  
  1305. Bitfields for AMI (Saturn) parallel port:
  1306. Bit(s)    Description    (Table C065)
  1307.  4    IRQ active high
  1308.  3    parallel port extended mode
  1309.  1-0    parallel port address
  1310. ----------R4C--------------------------------
  1311. CMOS 4Ch - AMI (PicoPower) - CLOCK SPEEDS
  1312.  
  1313. Bitfields for AMI (PicoPower) clock speeds:
  1314. Bit(s)    Description    (Table C066)
  1315.  7-6    back-to-back I/O delay
  1316.     00  none
  1317.     01  1 SYSCLK
  1318.     10  2 SYSCLKs
  1319.     11  3 SYSCLKs
  1320.  5-3    Turbo clock select
  1321.     001 CLK2IN/3
  1322.     010 CLK2IN/4
  1323.     011 CLK2IN/5
  1324.     100 CLK2IN/6
  1325.     101 CLK2IN/7
  1326.     110 CLK2IN/8
  1327.     111 CLK2IN/9
  1328.  2-0    SYSCLK select (same as for Turbo clock select)
  1329. ----------R4D--------------------------------
  1330. CMOS 4Dh - AMI (Saturn) - RESERVED
  1331. ----------R4D--------------------------------
  1332. CMOS 4Dh - AMI (PicoPower) - MIDDLE BIOS
  1333. Note:    Middle BIOS is enabled if bit 1 set
  1334. ----------R4E--------------------------------
  1335. CMOS 4Eh - AMI (Saturn) - SERIAL PORT
  1336.  
  1337. Bitfields for AMI (Saturn) serial port:
  1338. Bit(s)    Description    (Table C067)
  1339.  7-5    serial port 1
  1340.  4-2    serial port 2
  1341.  0    manual programming mode
  1342. ----------R4E--------------------------------
  1343. CMOS 4Eh - AMI (PicoPower) - TURBO BUS VIDEO
  1344.  
  1345. Bitfields for AMI (PicoPower) Turbo Bus video:
  1346. Bit(s)    Description    (Table C068)
  1347.  2    memory enabled
  1348.  1    I/O enabled
  1349. ----------R50--------------------------------
  1350. CMOS 50h - AWARD - PCI Bus Slot 1 Latency Timer 0-255 (default: 0)
  1351. ----------R51--------------------------------
  1352. CMOS 51h - AMI - MEMORY ACCESS CONTROL
  1353.  
  1354. Bitfields for AMI memory access control:
  1355. Bit(s)    Description    (Table C069)
  1356.  7    Bank 0/1 RAS Precharge
  1357.  6    Bank 0/1 Access Wait States
  1358.  3-2    Bank 0/1 Wait States
  1359. ----------R51--------------------------------
  1360. CMOS 51h - AWARD - PCI Bus Setup
  1361.  
  1362. Bitfields for AWARD PCI bus setup:
  1363. Bit(s)    Description    (Table C070)
  1364.  7    PIRQ0# Interrupt Triggering
  1365.     0 = Edge Sensitive,
  1366.     1 = Level Sensitive
  1367.  6-2    ??? Default: all 1's
  1368.  0-1    Slot 1 IRQ Setup
  1369.     00 = A-PIRQ0 (Default)
  1370.     01 = B-PIRQ1
  1371.     10 = C-PIRQ2
  1372.     11 = D-PIRQ3
  1373. ----------R52--------------------------------
  1374. CMOS 52h - ???
  1375. ----------R52--------------------------------
  1376. CMOS 52h - AWARD - PCI Bus Slot 2 Latency Timer 0-255 (default: 0)
  1377. ----------R53--------------------------------
  1378. CMOS 53h - AMI - MEMORY ACCESS CONTROL
  1379.  
  1380. Bitfields for AMI memory access control:
  1381. Bit(s)    Description    (Table C071)
  1382.  7    Bank 2/3 RAS Precharge
  1383.  6    Bank 2/3 Access Wait States
  1384.  3-2    Bank 2/3 Wait States
  1385. ----------R53--------------------------------
  1386. CMOS 53h - AWARD - PCI Bus Setup
  1387.  
  1388. Bitfields for AWARD PCI bus setup:
  1389. Bit(s)    Description    (Table C072)
  1390.  7    PIRQ1# Interrupt Triggering
  1391.     0 = Edge Sensitive,
  1392.     1 = Level Sensitive
  1393.  6-2    ??? Default: all 1's
  1394.  0-1    Slot 2 IRQ Setup
  1395.     00 = A-PIRQ1 (Default)
  1396.     01 = B-PIRQ2
  1397.     10 = C-PIRQ3
  1398.     11 = D-PIRQ0
  1399. ----------R547F------------------------------
  1400. CMOS 54h-7Fh - ???
  1401. ----------R54--------------------------------
  1402. CMOS 54h - AWARD - PCI Bus Slot 3 Latency Timer 0-255 (default: 0)
  1403. ----------R55--------------------------------
  1404. CMOS 55h - AWARD - PCI Bus Setup
  1405.  
  1406. Bitfields for AWARD PCI bus setup:
  1407. Bit(s)    Description    (Table C073)
  1408.  7    PIRQ2# Interrupt Triggering
  1409.     0 = Edge Sensitive,
  1410.     1 = Level Sensitive
  1411.  6-2    ??? Default: all 1's
  1412.  0-1    Slot 3 IRQ Setup
  1413.     00 = A-PIRQ2 (Default)
  1414.     01 = B-PIRQ3
  1415.     10 = C-PIRQ0
  1416.     11 = D-PIRQ1
  1417. ----------R56--------------------------------
  1418. CMOS 56h - AWARD - ??? reserved for PCI Bus Slot 4 Latency Timer ???
  1419. ----------R57--------------------------------
  1420. CMOS 57h - AWARD - PCI Bus Setup
  1421.  
  1422. Bitfields for AWARD PCI bus setup:
  1423. Bit(s)    Description    (Table C074)
  1424.  7    PIRQ3# Interrupt Triggering
  1425.     0 = Edge Sensitive,
  1426.     1 = Level Sensitive
  1427.  6-0    ???not used    Default: all 1's
  1428. ----------R58--------------------------------
  1429. CMOS 58h - AWARD - ??? reserved for PCI Bus Slot 5 Latency Timer ???
  1430.  
  1431. Bitfields for AWARD PCI bus slot 5 latency timer:
  1432. Bit(s)    Description    (Table C075)
  1433.  3    onboard CMD IDE Mode 3
  1434. ----------R59--------------------------------
  1435. CMOS 59h - AWARD - ??? reserved for PCI Bus Setup ???
  1436. ----------R5A--------------------------------
  1437. CMOS 5Ah - AWARD - PCI Bus IRQ Setup 1
  1438.  
  1439. Bitfields for AWARD PCI bus IRQ setup 1:
  1440. Bit(s)    Description    (Table C076)
  1441.  4-7    PIRQ1# Interrupt Line (0=none, Bh=IRQ11, etc)
  1442.  0-3    PIRQ0# Interrupt Line      "         "          "
  1443. ----------R5B--------------------------------
  1444. CMOS 5Bh - AWARD - PCI Bus IRQ Setup 2
  1445.  
  1446. Bitfields for AWARD PCI bus IRQ setup 2:
  1447. Bit(s)    Description    (Table C077)
  1448.  4-7    PIRQ3# Interrupt Line (0=none, Bh=IRQ11, etc)
  1449.  0-3    PIRQ2# Interrupt Line      "         "          "
  1450. ----------R5C--------------------------------
  1451. CMOS 5Ch - AMI (PicoPower) - LOW-SPEED CLOCK
  1452.  
  1453. Bitfields for AMI (PicoPower) low-speed clock select:
  1454. Bit(s)    Description    (Table C078)
  1455.  2-0    low-speed clock divisor
  1456.     000  /1
  1457.     001  /2
  1458.     010  /4
  1459. ----------R5C5F------------------------------
  1460. CMOS 5Ch-5Fh - AWARD - ??? unused ???
  1461. Note:    Defaults to all FFh's.
  1462. ----------R5D--------------------------------
  1463. CMOS 5Dh - AMI (PicoPower) - DOZE MODE
  1464.  
  1465. Bitfields for AMI (PicoPower) doze mode control:
  1466. Bit(s)    Description    (Table C079)
  1467.  7    APM enabled
  1468.  6-4    doze mode CPU clock speed (see #C080)
  1469.  3    hotkey setup enabled
  1470.  2-0    "sleep mode" CPU CLK speed (see #C080)
  1471. SeeAlso: #C082
  1472.  
  1473. (Table C080)
  1474. Values for AMI (PicoPower) CPU clock speeds:
  1475.  000    MAX
  1476.  001    MAX/2
  1477.  010    MAX/4
  1478.  011    MAX/8
  1479.  100    MAX/16
  1480.  101    MAX/32
  1481.  110    MAX/64
  1482. SeeAlso: #C079,#C082
  1483. ----------R5E--------------------------------
  1484. CMOS 5Eh - AMI 1990 Hyundai super-NB368S notebook - ???
  1485.     00h when values from bios defaults
  1486.     34h when values from power up defaults
  1487. ----------R5E--------------------------------
  1488. CMOS 5Eh - AWARD v4.50G - ?
  1489. SeeAlso: CMOS 5Fh"AWARD"
  1490.  
  1491. Bitfields for AWARD register 5Eh:
  1492. Bit(s)    Description    (Table C081)
  1493.  0    user password enabled
  1494. SeeAlso: #C012
  1495. ----------R5E5F------------------------------
  1496. CMOS 5Eh-5Fh - AMI (PicoPower) - CPU SPEEDS
  1497.  
  1498. Bitfields for AMI (PicoPower) CPU speeds:
  1499. Bit(s)    Description    (Table C082)
  1500.  7    suspend warning beeps enabled
  1501.  6-4    "full on" CPU CLK speed
  1502.     000 MAX
  1503.     001 MAX/2
  1504.     010 MAX/4
  1505.     011 MAX/8
  1506.  1-0    power management mode
  1507.     00 disabled
  1508.     01 Auto
  1509.     10 enabled
  1510. SeeAlso: #C079
  1511. ----------R5F--------------------------------
  1512. CMOS 5Fh - AMI (PicoPower) - POWER MANAGEMENT TIMEOUTS
  1513.  
  1514. Bitfields for AMI (PicoPower) power management timeouts:
  1515. Bit(s)    Description    (Table C083)
  1516.  7    enable battery-low beeps
  1517.  5-3    SUSPEND timeout
  1518.     000  disabled
  1519.     001  5 minutes
  1520.     010  10 minutes
  1521.     011  15 minutes
  1522.     100  20 minutes
  1523.     101  30 minutes
  1524.     110  40 minutes
  1525.     111  60 minutes
  1526.  2-0    DOZE timeout
  1527.     000  disabled
  1528.     100  1 second
  1529.     101  4 seconds
  1530.     110  8 seconds
  1531.     111  16 seconds
  1532. SeeAlso: #C085
  1533. ----------R5F--------------------------------
  1534. CMOS 5Fh - AWARD v4.50G - USER PASSWORD CHECKSUM
  1535. SeeAlso: CMOS 5Eh"AWARD"
  1536. ----------R60--------------------------------
  1537. CMOS 60h - AWARD - POWER MANAGEMENT
  1538.  
  1539. Bitfields for AWARD power management:
  1540. Bit(s)    Description    (Table C084)
  1541.  7    ???
  1542.  6    Video Off Method
  1543.     1  = V/H SYNC + Blank (default)
  1544.     0  = Blank Screen
  1545.  4,5    Video Off Option
  1546.     00 = Always On (default)
  1547.     01 = Suspend -> Off
  1548.     10 = Suspend, Standby -> Off
  1549.     11 = All Modes -> Off
  1550.  3    PM Control by APM (1=Yes)
  1551.  2    ???
  1552.  1,0    Power Management Setup
  1553.     00  User Defined
  1554.     01  Disabled (default)
  1555.     10  Minimum Power Savings (40 Minutes for all events)
  1556.     11  Maximum Power Savings (20 Seconds for all events)
  1557. ----------R60--------------------------------
  1558. CMOS 60h - AMI (PicoPower) - SLEEP TIMEOUT
  1559.  
  1560. Bitfields for AMI (PicoPower) sleep timeout:
  1561. Bit(s)    Description    (Table C085)
  1562.  5-3    SLEEP timeout
  1563.     000  disabled
  1564.     001  1 minute
  1565.     010  2 minutes
  1566.     011  3 minutes
  1567.     100  4 minutes
  1568.     101  6 minutes
  1569.     110  8 minutes
  1570.     111  12 minutes
  1571. SeeAlso: #C083,#C087
  1572. ----------R6077------------------------------
  1573. CMOS 60h-77h - AMI WinBIOS - PCI chipset-specific setup information
  1574. ----------R61--------------------------------
  1575. CMOS 61h - AWARD - POWER MANAGEMENT
  1576.  
  1577. Bitfields for AWARD power management:
  1578. Bit(s)    Description    (Table C086)
  1579.  7    PM Event on HDD Ports Activity (1=enable)
  1580.  6    PM Event on LPT Port Activity (1=enable)
  1581.  5    PM Event on COM Port Activity (1=enable)
  1582.  4    HDD Power Down on Suspend
  1583.  0-3    HDD Power Down Time
  1584.     0    Disabled
  1585.     1-15    Time in Minutes
  1586. ----------R62--------------------------------
  1587. CMOS 62h - AMI 1990 Hyundai super-NB368S notebook - ???
  1588.     FFh when values from bios defaults
  1589.     FEh when values from power up defaults
  1590. ----------R62--------------------------------
  1591. CMOS 62h - AMI (Neptune) - number of last PCI bus in system
  1592. SeeAlso: INT 1A/AX=B101h
  1593. ----------R62--------------------------------
  1594. CMOS 62h - AMI (PicoPower) - HARD-DISK POWERDOWN
  1595.  
  1596. Bitfields for AMI (PicoPower) hard-disk powerdown timeout:
  1597. Bit(s)    Description    (Table C087)
  1598.  3-0    hard-disk timeout in minutes (0000 = disabled)
  1599. SeeAlso: #C085
  1600. ----------R62--------------------------------
  1601. CMOS 62h - AWARD - POWER MANAGEMENT
  1602.  
  1603. Bitfields for AWARD power management:
  1604. Bit(s)    Description    (Table C088)
  1605.  7-4    Standby Mode Setting (for User Defined)
  1606.     0   Disabled
  1607.     1   20 Seconds
  1608.     2   1 Minute
  1609.     3   5 Minutes
  1610.     4   10 Minutes
  1611.     5   15 Minutes
  1612.     6   20 Minutes
  1613.     7   30 Minutes
  1614.     8   40 Minutes
  1615.  0-3    Doze Mode Setting (for User Defined)
  1616.     (See Standby Mode above)
  1617. ----------R63--------------------------------
  1618. CMOS 63h - AWARD - POWER MANAGEMENT
  1619.  
  1620. Bitfields for AWARD power management:
  1621. Bit(s)    Description    (Table C089)
  1622.  7    Disable PM Event on IRQ3 Activity (COM2) (1=disable)
  1623.  6    PM Event on VGA Activity (1=enable)
  1624.  5    ??? (Defaults to 1)
  1625.  4    PM Event on PCI/ISA Master Activity (1=enable)
  1626.  0-3    Suspend Mode Setting (for User Defined)
  1627.     (See Standby Mode above)
  1628. ----------R63--------------------------------
  1629. CMOS 63h - AMI (PicoPower) - BATTERY-LOW ACTIONS
  1630.  
  1631. Bitfields for AMI (PicoPower) battery-low actions:
  1632. Bit(s)    Description    (Table C090)
  1633.  5-3    battery-very-low action
  1634.     000  MAX
  1635.     001  MAX/2
  1636.     010  MAX/4
  1637.     011  MAX/8
  1638.     100  MAX/16
  1639.     101  MAX/32
  1640.     110  MAX/64
  1641.     111  suspend
  1642.  2-0    battery-low action (same as battery-very-low action)
  1643. ----------R64--------------------------------
  1644. CMOS 64h - AMI 1990 Hyundai super-NB368S notebook - ???
  1645. ----------R64--------------------------------
  1646. CMOS 64h - AMI (PicoPower) - BATTERY POWER
  1647.  
  1648. Bitfields for AMI (PicoPower) battery power:
  1649. Bit(s)    Description    (Table C091)
  1650.  6    extended battery debounce enabled
  1651.  4-3    resume with modem ring
  1652.     00 disabled
  1653.     01 one ring
  1654.     10 two rings
  1655.     11 three rings
  1656.  2    365SL power on during suspend
  1657.  1-0    suspend-mode DRAM refresh cycle
  1658.     00 15 usec
  1659.     01 120 usec (1/8 normal)
  1660.     10 self
  1661. ----------R64--------------------------------
  1662. CMOS 64h - AWARD - POWER MANAGEMENT - IRQ activity events
  1663.  
  1664. Bitfields for AWARD power management IRQ activity events:
  1665. Bit(s)    Description    (Table C092)
  1666.  7    Disable PM Event on IRQ11 Activity (1=disable)
  1667.  6    Disable PM Event on IRQ10 Activity (1=disable)
  1668.  5    Disable PM Event on IRQ9 Activity (IRQ2 Redir) (1=disable)
  1669.  4    Disable PM Event on IRQ8 Activity (RTC Alarm) (1=disable)
  1670.  3    Disable PM Event on IRQ7 Activity (LPT1) (1=disable)
  1671.  2    Disable PM Event on IRQ6 Activity (Floppy) (1=disable)
  1672.  1    Disable PM Event on IRQ5 Activity (LPT2) (1=disable)
  1673.  0    Disable PM Event on IRQ4 Activity (COM1) (1=disable)
  1674. ----------R65--------------------------------
  1675. CMOS 65h - AWARD - POWER MANAGEMENT
  1676.  
  1677. Bitfields for AWARD power management:
  1678. Bit(s)    Description    (Table C093)
  1679.  7-4    ??? may be unused.  Defaults to all 1's
  1680.  3    Disable PM Event on IRQ15 Activity (1=disable)
  1681.  2    Disable PM Event on IRQ14 Activity (Hard Disk) (1=disable)
  1682.  1    Disable PM Event on IRQ13 Activity (Coprocessor) (1=disable)
  1683.  0    Disable PM Event on IRQ12 Activity (PS/2 Mouse) (1=disable)
  1684. ----------R65--------------------------------
  1685. CMOS 65h - AMI (PicoPower) - PC PIN STAGGER
  1686.  
  1687. Bitfields for AMI (PicoPower) PC pin stagger:
  1688. Bit(s)    Description    (Table C094)
  1689.  7-6    PC pin stagger period
  1690.     00  immediate
  1691.     01  4 msec
  1692.     10  16 msec
  1693.     11  64 msec
  1694. ----------R66--------------------------------
  1695. CMOS 66h - AMI 1990 Hyundai super-NB368S notebook - DOZE MODE TIMEOUT
  1696. Note:    doze mode timeout 00-0F, from table (0,12 -14 sec)
  1697. ----------R6679------------------------------
  1698. CMOS 66h-79h - AWARD - ??? unused ???
  1699. Note:    Defaults to all FFh's.
  1700. ----------R67--------------------------------
  1701. CMOS 67h - AMI 1990 Hyundai super-NB368S notebook - SLEEP MODE TIMEOUT
  1702. Desc:    sleep mode timeout 00-0F, units of 1 second
  1703. ----------R68--------------------------------
  1704. CMOS 68h - AMI 1990 Hyundai super-NB368S notebook - SUSPEND MODE TIMEOUT
  1705. Desc:    suspend mode timeout 01-0F, units of 5 minutes
  1706. ----------R686F------------------------------
  1707. CMOS 68h-6Fh - AWARD - IDE hard disk params for first drive on second IDE port
  1708. ----------R69--------------------------------
  1709. CMOS 69h - AMI 1990 Hyundai super-NB368S notebook - LCD MODE TIMEOUT
  1710. Desc:    LCD mode timeout 01-0F, units of 1 minute
  1711. ----------R6A--------------------------------
  1712. CMOS 6Ah - AMI 1990 Hyundai super-NB368S notebook - ???
  1713. ----------R7077------------------------------
  1714. CMOS 70h-77h - AWARD - IDE hard disk params for second drive on second IDE port
  1715. ----------R787D------------------------------
  1716. CMOS 78h-7Dh - AMI WinBIOS - used by BIOS as scratch RAM
  1717. ----------R7A--------------------------------
  1718. CMOS 7Ah - AWARD - EXTENDED CMOS CHECKSUM (high byte)
  1719. Note:    Award's extended checksum is the arithmetic sum of all the bytes
  1720.       from 40h (64 decimal) through 79h (121 decimal). [42h-79h for v4.50G]
  1721. SeeAlso: CMOS 7Bh"AWARD"
  1722. ----------R7B--------------------------------
  1723. CMOS 7Bh - AWARD - EXTENDED CMOS CHECKSUM (low byte)
  1724. Note:    Award's extended checksum is the arithmetic sum of all the bytes
  1725.       from 40h (64 decimal) through 79h (121 decimal). [42h-79h for v4.50G]
  1726. SeeAlso: CMOS 7Ah"AWARD"
  1727. ----------R7E7F------------------------------
  1728. CMOS 7Eh-7Fh - AMI WinBIOS - used as scratch RAM by power management code
  1729. --------!---Admin----------------------------
  1730. Highest Table Number = C094
  1731. --------!---History--------------------------
  1732. Revision History
  1733.  
  1734. v1.26    Sep,  1995    reformatted (Ralf)
  1735. v1.25    June  1995    Added AMI WinBIOS info from Daniel Miller (Ralf)
  1736. v1.24    Jan,  1995    Added Award info from Tim Farley (Ralf)
  1737. v1.23    June, 1994    Added some MCA info from _The_Undocumented_PC_
  1738. v1.22    Feb,  1994    Added NMI mask note
  1739. v1.21    Jan,  1994    Added note for PS/2 checksum found
  1740. v1.20    Sept, 1993    PHOENIX data from Wim Osterholt added
  1741.             additional AMI data from Howie (hjh@gwd.dst.gov.au)
  1742. v1.15    June, 1993    AMSTRAD data updated
  1743. v1.1    June, 1993    AMSTRAD & PS/2 data added 
  1744. v1.0    June, 1993    First release: Motorola MC 146818,  PC-AT & AMI 
  1745.             "Hi-Flex" information baselined
  1746. --------!---CONTACT_INFO---------------------
  1747. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  1748. UUCP: {uunet,harvard}!pobox.com!ralf
  1749. FIDO: Ralf Brown 1:129/26.1
  1750.     or post a message to me in the DR_DEBUG echo (I probably won't see it
  1751.     unless you address it to me)
  1752. CIS:  >INTERNET:ralf@pobox.com
  1753.